In systems that include a plurality of virtual machine environments, trusted host software, such as a hypervisor or virtual machine manager, may be used to manage network resources. These virtual machines may be required to share network bandwidth. In order to enforce bandwidth sharing amongst the virtual machines, a trusted host may implement rate limiting.
Rate limiting is a technique used to limit traffic sent and received by the virtual machines. In particular, there are two types of rate-limiting: hardware rate limiting and software rate limiting. Hardware rate limiting may be performed by a network interface controller (NIC), while software rate limiting may be performed by a hypervisor.